package com.meta.platform.contract.domain.tunnel.db;


import com.meta.platform.contract.intf.entity.ContractInvoice;
import com.meta.platform.contract.intf.ro.ContractInvoiceRo;

import java.util.List;

/**
 * 合同发票表
 * 
 * @author M.simple
 * @email 1111111111111@qq.com
 * @date 2020-12-08 15:53:38
 */
public interface ContractInvoiceRepository{

	/**
	 * insert contractInvoice info
	 * @method      insertContractInvoice
	 * @param       contractInvoice:
	 * @return      void
	 * @author      M.simple
	 * @date        2020-12-08 15:53:38
	 */
	void insertContractInvoice(ContractInvoice contractInvoice);

	/**
	 * batch insert contractInvoice info
	 * @method      insertContractInvoice
	 * @param       contractInvoices:
	 * @return      void
	 * @author      M.simple
	 * @date        2020-12-08 15:53:38
	 */
	void batchInsertContractInvoice(List<ContractInvoice> contractInvoices);

	/**
	 * update contractInvoice info
	 * @method      updateContractInvoice
	 * @param       contractInvoice:
	 * @return      int
	 * @author      M.simple
	 * @date        2020-12-08 15:53:38
	 */
	int updateContractInvoice(ContractInvoice contractInvoice);

	/**
	 * update contractInvoice info By pk
	 * @method      updateContractInvoiceByPk
	 * @param       contractInvoice:
	 * @return      int
	 * @author      M.simple
	 * @date        2020-12-08 15:53:38
	 */
	int updateContractInvoiceByPk(ContractInvoice contractInvoice);

	/**
	 * list contractInvoice info
	 * @method      listContractInvoice
	 * @param       contractInvoice:
	 * @return      List<ContractInvoice>
	 * @author      M.simple
	 * @date        2020-12-08 15:53:38
	 */
	List<ContractInvoice> listContractInvoice(ContractInvoiceRo contractInvoice);

}
